Download Latest Version duff-resurrected-1.1.4.zip (39.4 MB)
Home / Duff Resurrected
Name Modified Size InfoDownloads / Week
Parent folder
Old < 12 hours ago
duff-resurrected-1.1.4.zip < 12 hours ago 39.4 MB
CHANGES.md < 12 hours ago 18.5 kB
README.md < 12 hours ago 5.4 kB
duff.exe < 12 hours ago 875.0 kB
duffc.exe < 12 hours ago 535.0 kB
Totals: 6 Items   40.8 MB 3

Duff Resurrected - DUplicate File Finder

Duff Resurrected (the resurrected DUFF) finds duplicate files on local and network drives. Files are compared with comparison layers (file name, binary content, text content, MP3 audio data), the list of candidates can be reduced with filters, files can be marked automatically with markers (oldest, biggest, located in a certain folder, ...) and the marked files are handled by processors (delete to the recycle bin or permanently, move, send to a program, save the list).

This is version 1.1.4: the 2002-2005 Visual C++ 6 sources (DUFF 0.6.9.26 by Jeremy B. Smith) ported to Visual Studio 2022/2026, Unicode and 64-bit, with a long list of bug fixes, the sources consolidated into one file pair per subject, long path support, a built-in help, saved profiles, dark mode, a compare window and no network or registry access at all. CHANGES.md lists everything that differs from the original, one line per item.

Documentation:

  • docs/UserGuide.md - how to use the program (also built into duff.exe: press F1)
  • docs/DeveloperGuide.md - source layout, architecture, adding a module
  • CHANGES.md - what is different compared with the original 0.6.9.26 (issues solved, features added, changes)

Building

Requirements:

  • Visual Studio 2022 or newer (2026 works the same; Community is fine) with the workload Desktop development with C++, including the components C++ MFC for latest build tools (x86 & x64) and C++ CMake tools for Windows (both are part of the workload).
  • NSIS 3.x only if you want to build the installer.

Build from a command prompt:

build.cmd                 -> Release, x64   (build-x64\bin\Release\duff.exe)
build.cmd Debug           -> Debug, x64
build.cmd Release x86     -> Release, 32-bit (build-Win32\bin\Release\duff.exe)
build.cmd Release x64 2026 -> force a Visual Studio version (2022 or 2026)

build.cmd finds the newest installed Visual Studio with vswhere, picks the matching CMake generator (17 = 2022, 18 = 2026; anything newer is left to CMake's default, which is the newest Visual Studio it knows) and runs CMake and MSBuild. Afterwards build-x64\DUFF.sln can be opened in Visual Studio to debug (the duff project is the start-up project). Alternatively open the folder in Visual Studio ("Open a local folder"), which uses the CMakeLists.txt directly.

The build produces:

bin\<Config>\duff.exe        the GUI application (help included)
bin\<Config>\duffc.exe       the console tool (run without parameters for help)

Nothing else is needed at run time except the Visual C++ redistributable of the Visual Studio version used (x64 or x86, matching the build; the 2015-2026 runtimes are binary compatible). Alternatively copy mfc140u.dll, msvcp140.dll, vcruntime140.dll and vcruntime140_1.dll from C:\Program Files\Microsoft Visual Studio\<year>\Community\VC\Redist\MSVC\<version>\x64\Microsoft.VC14x.MFC and ...\Microsoft.VC14x.CRT next to duff.exe.

Dependencies: MFC (shared DLL), the Windows SDK and the bundled ResizableLib. Linked system libraries: version (file version marker), ole32 and shell32 (folder picker, recycle bin), shlwapi (file mask matching), uxtheme, dwmapi and comctl32 (dark mode) and winmm (finished sound). No third-party packages.

Installer

cmake --install build-x64 --config Release --prefix dist
cd Source\Installation
makensis /DARCH=x64 /DBINDIR=..\..\dist duff.nsi

produces duff-1.1.4-x64.exe (installer title "Duff Resurrected") (pass /DVERSION=... to override the number).

Version numbers

The version lives in one place, the two lines at the top of CMakeLists.txt (project(DUFF VERSION 1.1.4.0 ...) and set(DUFF_VERSION_LABEL "")). CMake generates version.h from them; the version resource of both executables, the title bar, the About box and the console banner read it. The program shows major.minor.patch ("1.1.4"), plus the label when one is set (for a release candidate, say "rc1").

Console tool

duffc /s /data /name /mark oldest /out dupes.csv C:\Photos D:\Backup

searches both folders including sub folders, reports files with the same name or the same content, marks the oldest file of every duplicate set and writes the result to dupes.csv. duffc without parameters lists all options. /delete deletes the marked files (to the recycle bin unless /permanent is given); use /n first for a dry run.

Source layout

CMakeLists.txt, build.cmd   build description and build script
Source\                     one .h/.cpp pair per subject (see docs\DeveloperGuide.md)
Source\Console\             console front end
Source\ResizableLib\        resizable dialog classes (Paolo Messina, Artistic License)
Source\Installation\        NSIS installer script
Source\res\                 icon and bitmaps
docs\                       user guide (embedded in the EXE) and developer guide

License

Duff Resurrected is free software under the GNU General Public License, version 2 (see LICENSE), the licence Jeremy B. Smith (Helamonster Software) chose for the original DUFF. You may redistribute and modify it under the terms of that licence; it comes without any warranty. The bundled ResizableLib (Paolo Messina) is covered by the Artistic License (Source\ResizableLib\Artistic-License.txt).

Source: README.md, updated 2026-11-04